A specific decoding key is required to decode ciphertext encrypted using an encryption method such as public key cryptography and common key cryptography. In order for a decoding apparatus which does not have a decoding key to obtain a decoding result of the ciphertext, there is one method among conventional methods, in which an external apparatus holding a decoding key provides the decoding key to the decoding apparatus and the decoding apparatus decodes the ciphertext using the decoding key. There is another conventional method for the decoding apparatus to obtain a decoding result of the ciphertext, in which the decoding apparatus provides the ciphertext to an external apparatus and the external apparatus decodes the ciphertext and provides the decoding result to the decoding apparatus.
However, the former method involves a problem in safety because the decoding key itself is provided to the decoding apparatus. Meanwhile, with the latter method, the decoding apparatus cannot verify the correctness of the decoding result.
As a technique for solving these problems, there is a decoding technique using a cloud-managed key according to a self-correcting technique (see, for example, Patent literatures 1 to 3, or the like). The self-correcting technique is a technique of always performing correct calculation using a calculator or a system which does not always output a correct calculation result (technique of outputting a correct calculation result when a calculator which outputs a correct calculation result is used, and obtaining a correct calculation result or obtaining a result indicating that it is impossible to perform calculation when a calculator which does not always output a correct result). In the decoding technique using the cloud-managed key according to the self-correcting technique, a decoding capability providing apparatus which holds a decoding key provides only information for decoding ciphertext without providing a decoding key to the decoding apparatus. The decoding apparatus can always perform correct decoding calculation using this information.